package com.xopencode.netty.heima;

import io.netty.channel.DefaultEventLoopGroup;
import io.netty.channel.EventLoop;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;

import java.util.HashSet;
import java.util.concurrent.TimeUnit;

/**
 * @author Mcb
 * @date 2022/5/17
 * @apiNote
 */
public class TestEventLoop {
    public static void main(String[] args) {

        // io 普通 定时,线程 = 设备核心线程数*2
        EventLoopGroup eventExecutors = new NioEventLoopGroup();
        // 普通 定时
        EventLoopGroup defaultEventLoopGroup = new DefaultEventLoopGroup();

        // 事件循环对象
        EventLoop eventLoop = eventExecutors.next();
        // 普通任务
        eventLoop.submit(() -> {
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("ok");
        });

        System.out.println("main");

        // 定时任务
        eventLoop.scheduleAtFixedRate(()->{
            System.out.println("定时任务执行！！！");
        },0,2, TimeUnit.SECONDS);
    }
}
